package Core;

public class SnapshotApplierImpl implements SnapshotApplier {

	@Override
	public void applySnapshotTo(Character character, LevelSnapshot snapshot)
	{
		this.updateHitPoints(character, snapshot.getHitPointBonus());
		this.updateMana(character, snapshot.getManaBonus());
		this.updateAttackBonus(character, snapshot.getAttackBonus());
		this.updateFortitudeBonus(character, snapshot.getFortitudeBonus());
		this.updateReflexBonus(character, snapshot.getReflexBonus());
		this.updateWillBonus(character, snapshot.getWillBonus());
		this.updateAbilities(character, snapshot.getAbilities());
	}


	private void updateAbilities(Character character, SpecialAbility[] abilities)
	{
		
	}
	
	private void updateAttackBonus(Character character, int attackBonus)
	{
		
	}

	private void updateFortitudeBonus(Character character, int fortitudeBonus)
	{
		
	}
	
	private void updateHitPoints(Character character, int hitPointBonus)
	{
		character.increaseMaxHitPoints(hitPointBonus);
	}
	
	private void updateMana(Character character, int manaBonus)
	{
		character.increaseMaxMana(manaBonus);
	}

	private void updateReflexBonus(Character character, int reflexBonus)
	{
		
	}

	private void updateWillBonus(Character character, int willBonus)
	{
		
	}
}
